package org.jeecg.modules.couteachingjobexecute.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.common.baseentity.BaseApiEntity;
import org.jeecg.modules.couteachingjobexecute.entity.CouTeachingJobExecute;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.couteachingjobexecute.vo.CouTeachingJobExecuteVo;

/**
 * @Description: cou_teaching_job_execute
 * @author: baochangrong
 * @Date: 2022-04-11
 * @Version: V1.0
 */
public interface ICouTeachingJobExecuteService extends IService<CouTeachingJobExecute> {

    public Result runTeachingJobExecute(CouTeachingJobExecuteVo couTeachingJobExecuteVo, BaseApiEntity baseApiEntity);

    public Result<?> queryCouTeachingJobExecuteAll(Page<CouTeachingJobExecute> page, CouTeachingJobExecuteVo couTeachingJobExecuteVo);
    public Result<?> queryByIdDetail(Page<CouTeachingJobExecute> page, CouTeachingJobExecuteVo couTeachingJobExecuteVo);

    public Result<?> getTeacherAndSubjectCount(Page<JSONObject> page, CouTeachingJobExecuteVo couTeachingJobExecuteVo);

    public Result<?> queryTeacherJobDurationDate(Page<CouTeachingJobExecute> page, CouTeachingJobExecuteVo couTeachingJobExecuteVo) throws NoSuchFieldException, IllegalAccessException;

    public Result<?> queryTeacherJobDurationWeekSetIndex(Page<CouTeachingJobExecute> page, CouTeachingJobExecuteVo couTeachingJobExecuteVo);

    public Result<?> changeCoures(JSONObject jsonInfo);

    public Result<?> changeCouresTeacher(JSONObject jsonInfo);
}
